Documentation for Users
1.0.2
Perception Toolbox for Virtual Reality (PTVR) Manual
|
As explained in the Introduction of the current section, there are two independent PTVR components when it comes to pointing at objects:
An action, or many actions, on a variety of objects in the 3D world can be performed thanks to a conic volume called the ACTIVATION CONE (Figure 1). This cone has its origin (or apex) at the position of the pointing device (headset, hand-controller or gaze).
Figure 1: Perspective view of the ACTIVATION cone (dashed lines). In this example, a cylinder object is within the volume of the activation cone so that pointing is validated (i.e. the cylinder is activated by pointing with this activation cone). The activation cone must not be confused with the cursor cone (in solid lines), the latter being a visual feedback (here a reticle) which is independent of the activation of pointing. |
Note again the independence between the activation and the cursor cone. An example of this independence is illustrated in Figure 1 : here the activation cone (dashed lines) and the cursor cone (solid lines) have different angular sizes (the radius of the activation cone is 2 degrees).
Crucially, the activation cone is associated with an object that has to be pointed at to validate the pointing process achieved by this activation cone.
An activation cone is programmed in PTVR with an Event called 'PointedAt' (see demos at the end of the current page).
The main arguments passed to the 'PointedAt' event determine:
Once a 'PointedAt' event is triggered (i.e. when a given object has been activated by pointing), many actions can be performed with a Callback or several callbacks associated with the 'PointedAt' event (see demos at the end of the current page).
Main demos are in:
...\PTVR_Researchers\Python_Scripts\DEMOS\Pointing\events_and_callbacks_for_pointing\
Python file | Description |
---|---|
head_pointing_to_change_an_object.py | Simple demo to change the color of an object by pointing at it. There is no flat cursor in this demo. |
head_pointing_to_change_an_object_w_flat_cursor.py | Same as previous demo except that a head-contingent flat cursor is displayed. |
head_pointing_to_end_trials.py | In this demo, pointing at an object (with a flat cursor) is required to end each trial. Position of the object changes on each trial. |